<!doctype html>
<html lang="en" theme-color="light">
    <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + Vue + TS</title>
    </head>
    <body>
        <div id="app">
            <div class="loader"></div>
        </div>
        <script type="module" src="/src/main.ts"></script>
    </body>

    <style>
        /* 全局元素样式初始化 */
        * {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }

        body,
        #app {
            position: relative; /* 必须使其相对定位，以便伪元素定位正确 */
            width: 100%;
            height: 100vh;
            overflow: hidden; /* 可选：防止内容溢出 */
            display: flex;
            align-items: center;
            justify-content: center;

            /* 禁止页面选中文本 */
            user-select:none; /* CSS3属性 */
            -moz-user-select:none; /* Firefox私有属性 */
            -webkit-user-select:none; /* WebKit内核私有属性 */
            -ms-user-select:none; /* IE私有属性(IE10及以后) */

            transition:
                    background-color 0.5s ease-in-out,
                    color 0.5s ease-in-out;
        }

        body::before {
            content: ''; /* 伪元素内容必须为空 */
            position: absolute; /* 绝对定位 */
            width: 100%;
            height: 100%;
            background-image: url(@/assets/imgs/background.jpg);
            background-size: cover; /* 或者 'contain'，根据需求 */
            background-position: center; /* 图片居中 */
            background-repeat: no-repeat; /* 不重复背景图片 */
            filter: blur(90px); /* 调整模糊度，会模糊元素内容 */
            z-index: -1; /* 确保伪元素在内容下方 */
        }

        /* 以下是加载动画样式 */
        .loader,
        .loader::before,
        .loader::after {
            width: 2.5em;
            height: 2.5em;
            border-radius: 50%;
            animation: load-animation 1.8s infinite ease-in-out;
            animation-fill-mode: both;
        }

        .loader {
            position: relative;
            top: 0;
            margin: 80px auto;
            font-size: 10px;
            color: #406eeb;
            text-indent: -9999em;
            transform: translate(-50%, 0);
            animation-delay: -0.16s;
        }

        .loader::before,
        .loader::after {
            position: absolute;
            top: 0;
            content: "";
        }

        .loader::before {
            left: -3.5em;
            animation-delay: -0.32s;
        }

        .loader::after {
            left: 3.5em;
        }

        @keyframes load-animation {
            0%,
            80%,
            100% {
                box-shadow: 0 2.5em 0 -1.3em;
            }

            40% {
                box-shadow: 0 2.5em 0 0;
            }
        }
    </style>
</html>
